/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
$(document).ready(function(){
  
  $("body").delegate(".form_user #cancel",{
    click: function(e){
      e.preventDefault();
      $("#pefil_usuario").dialog("close");
    }
  })
  
  $("body").delegate(".form_user input",{
    keyup: function(){
      user_valida_tecla(this)
    },
    click: function(){
      user_valida_tecla(this)
    },
    blur: function(){
      user_valida_tecla(this)
    }
  });
})

function edita_perfil(id){
  $("#pefil_usuario").load("usuario/perfil/usuario-perfil.php?id="+ id, 
    function(){
      $(this).dialog({
        close: function (){
          usuario_form_cierra(id);
        },
        title: "GESTOR PERFIL DE USUARIO",
        heigh: 400,
        width: 820,
//        position: 'top',
        modal: true,
        autoOpen: false
      });
      $('.form_user').ajaxForm({
        beforeSubmit: function(){
          if (user_valida_campos()){
            return true;
          }else{
            dialogo_notificar('Los campos coloreados indican que existen datos mal o estos son incompletos.');
            return false;
          }
        },
        dataType: 'json',
        success: function(datos){
          if (datos.error){
            dialogo_notificar(datos.msj)
          }else{
            dialogo_notificar('Los datos han sido actualizados satisfactoriamente');
            //              $("form.cmxform").hide();
            //              $("#usuario-comentario").hide();
            if ((id == session.id_usuario) || (id== -1)){
              if ((datos.correo_nuevo) || (id==-1) ){
                dialogo_notificar("Has modificado su correo o es una nueva solicitud.Recibirás un e-mail que deberás validar.<br><br>Mientras tanto no podrás acceder a la cuenta.<br>"+
                "Si no recibe el correo en unos diez minútos pongase en contacto con la asociación.");
                $("#logsalir").click();
              }
              if (datos.clave_nueva){
                dialogo_notificar("Has modificado tu clave desbes introducirla nuevamente");
                $("#logsalir").click();
              }
            }
            var_global= datos.id; //id de la base de datos devuelto por ajax no quitar pues deja de funcionar
            $('#tbl_usuarios').trigger( 'reloadGrid' );
            //            $('#refresh_tbl_usuarios').click();
            setTimeout("jQuery('#tbl_usuarios').jqGrid('setSelection', var_global)", 500);
          }
          $("#pefil_usuario").dialog("destroy");
        },
        error: (function(obj,error, execp){
          alert('Error ajax: '+ execp + ' | '+ error + busca_error_ajax(obj));
        })
      });
      $( ".acordeon" ).accordion({
        autoHeight: false,
        collapsible: true,
        active: -1
      });
      $('#ayuda_estado').click(function(e){
        e.preventDefault();
        dialogo_notificar(
          "<b>Usurio:</b><br>Es el estado inical. Se obtiene automaticamente cuando se registre y luego, además, valide su correo. Posteriormente podría solicitar ser Socio<br><br>"+
          "<b>Solicitud:</b><br>Ha solicitado ser Socio y su petición está en proceso.<br><br>" +
          "<b>Socio:</b><br>Su solicidud de socio está aceptada y ya es Socio"
          )
      });
      $('#ayuda_password').click(function(e){
        e.preventDefault();
        dialogo_notificar(
          "Los dos campos de contraseña deben contener entre 6 y 8 caractéres, y además ser iguales para ser aceptada"
          );
      });
      $('#ayuda_correo').click(function(e){
        e.preventDefault();
        dialogo_notificar(
          "Si utilizas un nuevo correo o modificas el actual, recibiras un e-mail que deberás validar para poder entrar nuevamente en el sistema.<br>"+
          "En el caso de no reibirlo en diez minutos ponerse en contacto con NeumoCan"
          );
      });
      $('#admin_socio').change(function(){
        if ($(this).attr('checked')){
          $('#user_socio').attr('checked','on');
          $('#user_sol_socio').removeAttr('checked');
          $('#user_sol_socio').attr('disabled','on');
        //          $('#user_usuario').attr('checked','on')
        }else{
          $('#user_usuario').attr('checked','on');
          $('#user_sol_socio').removeAttr('disabled');
        }
      });
     $('#user_privado').click(function(e){
       if( $(this).attr('checked')){
         $('#submit_enter').removeAttr('disabled');  
       }else{
         $('#submit_enter').attr('disabled','disabled');         
       }
      })
    $('#user_privado_texto').click(function(e){
       e.preventDefault();
       dialogo_notificar("<b>Política de privacidad</b><br>" +
         "Como usuario del sitio Web de <b>NeumoCan</b> (<u>http://www.neumocan.org</u>) usted tiene derecho a saber que se reconocen y respetan sus derechos fundamentales a la protección de los datos personales,"+
         " su derecho a la información, a la actualización, supresión y /o rectificación y a la confidencialidad de sus datos.<br><br>" +
         "<b>¿Para qué se recoge la información?</b><br>" +
         "La finalidad de la recolección de los datos personales se utilizará sólo para el funcionamiento interno de la asociación.<br><br>" +
         "<b>Información de contacto.</b><br>" +
         "Los usuarios podrán ejercitar los derechos de acceso, cancelación, rectificación y oposición. Contactándo con <b>NeumoCan</b> a través del correo electrónico de la asociación.");
    })
    }
  )
}
 
/*=============================================================================
 * subrutinas para control de eventos
*/

function usuario_form_cierra(id){
  $('#resultado').load('usuario/perfil/usuario_perfil_cancel.php?id='+id+'&proteccion='+session.proteccion)
}
 
function usuario_borrar(id_seleccionado){
  $.ajax({
    type: 'POST',
    url: 'usuario/usuario-borrar-ajax.php',
    data: "id_usuario=" + id_seleccionado,
    dataType: 'json',
    success: (function(datos){
      if (datos.error){
        alert(datos.msj);
      }else{
        //alert(datos.msj);
        $('#refresh_tbl_usuarios').click();
      }
    }),
    error: (function(obj,error, execp){
      alert('Error ajax: '+ execp + ' | '+ error + busca_error_ajax(obj));
    })
  });
}
 
function user_valida_campos(){
  var flag = true;
  var flag_temp= false;
  $('.form_user input').each(function(){
    if(typeof($(this).attr('id')) != "undefined"){
      flag_temp= user_valida_tecla(this); 
      flag =  flag && flag_temp;
    }
  });
  return flag;
};
 
function user_valida_tecla(pthis){
  var nombre= $(pthis).attr('name');
  var valor=  $(pthis).val();
  var flag= false;
  switch (nombre){
    case 'nombre':
    case 'apellidos':
      flag= (/^\S{1}.*$/.test(valor));
      break;
    case 'correo':
      flag= (/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(valor))
      break;
    case 'password':
      flag=  (/^\w{6,}$/.test(valor))
      if (valor != $('#user_password1').val()){
        $('#user_password1').val('');
        $('#user_password1').css("background-color","#fBB")
      }
      break;
    case 'password1':
      flag= (valor == $('#user_password').val()) && (/^\w{6,}$/.test(valor));
      break;
    default:
      flag= true;
  }
  (flag) ? $(pthis).css("background-color","#fff") : $(pthis).css("background-color","#fBB");
  return (flag);
}
 
function user_play_perfil(val_json){
  var val=  eval ('(' + val_json + ')'); //decodifica json
  session.proteccion= val.proteccion;
  if (val.es_socio != 1){
    $('#user_sol_socio').removeAttr('disabled');
    if (val.solicitud_socio == 1){
      $('#user_sol_socio').attr('checked','on')
    }
  }
  if (val.id_usuario == -1){
    $("#user_id_presenta").hide();
  }

  if (session.admin == 1){
    if (val.es_socio == 1) $('#admin_socio').attr('checked','on');
    if (val.es_bloqueo == 1) $('#admin_bloqueo').attr('checked','on');
    if (val.es_area == 1) $('#admin_area').attr('checked','on');
    if (val.es_congreso == 1) $('#admin_congreso').attr('checked','on');
    if (val.es_admin == 1) $('#admin_admin').attr('checked','on');
    $('#admin_bloqueo').removeAttr('disabled')
    $('#admin_socio').removeAttr('disabled')
    $('#admin_area').removeAttr('disabled')
    $('#admin_congreso').removeAttr('disabled')
    $('#admin_admin').removeAttr('disabled')
    if (val.correo_valido==1){
      $('#user_validado').attr('checked','on');
    }
  }else{
    $("#acorde0n_estructura" ).hide();
  }
  user_valida_campos();
  return true;
}